package cn.dduan.fool.data.type.base.Integer;

/**
 * Short
 * <p>
 * 注意：
 * 1. 位数：16位（2个字节）的存储空间
 * 2. 取值范围：-32768（-2^15）到 32767（2^15 - 1）（超出范围会抛出编译错误）
 * 3. 在类中定义的 short 类型变量，如果没有显式初始化，默认值为 0
 * <p>
 * 应用场景：
 * 1. 节省内存空间，在处理大量数据且数据的值范围在 short 类型的取值范围内时，使用 short 类型可以显著节省内存。相较于 int 类型（32 位），short 类型只需要一半的存储空间
 * 2. 硬件交互与嵌入式系统，在与硬件设备进行交互或者开发嵌入式系统时，硬件设备可能使用 16 位的寄存器或者数据通道。此时，使用 short 类型可以直接对应硬件的数据格式，方便进行数据传输和处理
 * 3. 图像处理，在图像处理中，某些图像格式或者图像处理算法可能会使用 16 位的像素表示。例如，一些高精度的灰度图像或者深度图像可能会使用 16 位来表示每个像素的值
 * 4. 网络通信与数据传输，在网络通信或者数据传输中，为了减少数据传输量，可能会使用 16 位的数据格式。例如，在某些协议中，使用 16 位的整数来表示数据的长度、端口号等信息
 *
 * @author dduan
 * @version 1.0
 * @date 2025/2/25
 */
public class MyShort {
    public static void main(String[] args) {
        short a = 20;
        // 声明时必须赋值，否则抛出：可能尚未初始化变量b
        short b = 0;
        // 编译错误，值超出了 short 类型的取值范围
        // short c = 32768;
        System.out.println("a = " + a); // a = 20
        System.out.println("b = " + b); // b = 0
        // System.out.println("c = " + c); // c = 编译错误
    }
}
